package top.bigdata.mapper;

import org.apache.ibatis.annotations.Mapper;
import top.bigdata.model.dto.DateWeeklyData;
import top.bigdata.model.dto.MonthlyData;
import top.bigdata.model.dto.video.AvgData;
import top.bigdata.model.dto.video.DurationData;
import top.bigdata.model.entity.Video;

import java.util.List;

@Mapper
public interface VideoMapper {
    // 获取最热视频
    List<Video> getHotVideos(List<Integer> tids);

    // 获取视频平均播放量
    List<AvgData> getAvgView();
    // 获取视频平均点赞数
    List<AvgData> getLike();
    // 获取视频平均硬币数
    List<AvgData> getCoin();
    // 获取视频平均收藏数
    List<AvgData> getFavorite();
    // 获取视频平均分享数
    List<AvgData> getShare();
    // 获取视频平均弹幕数
    List<AvgData> getDanmuku();
    // 获取视频平均评论数
    List<AvgData> getReply();

    // 获取视频的月度数据
    List<MonthlyData> getDataMonthly(List<Integer> tids);
    // 获取视频的周度数据
    List<DateWeeklyData> getDataWeekly(List<Integer> tids);

    // 获取不同时长的视频数据
    List<DurationData> getDurationData(List<Integer> tids);
}
